package com.ophiux.utils.common;

import java.math.BigDecimal;
import java.util.UUID;

import sun.misc.BASE64Decoder;
/**
 * 
 * 
 * 文件名称: StringUtil
 * 内容摘要: 字符串工具类
 * 创 建 人: sunrise
 * 创建日期:2015-4-14 上午10:55:04
 * 修改记录1: // 修改历史记录，包括修改日期、修改者及修改内容
 *   修改日期：
 *   版 本 号：
 *   修 改 人：
 *   修改内容：
 * 修改记录2：…
 *
 */
@SuppressWarnings("restriction")
public class StringUtil {
	
	private StringUtil() {
		// TODO Auto-generated constructor stub
	}
	
	/**
	 * 判断空 null 和 "" 都返回 true
	 * @param str
	 * @return true 空的
	 */
	public static boolean isEmpty(Object str){
		
		if(str == null||"null".equals(str) || "".equals(str.toString().trim())){
			return true;
		}
		return false;
		
	}
	public static boolean isEmpty(String [] sts){
		
		if(sts == null || sts.length == 0){
			return true;
		}
		for(String str : sts){
			if(isEmpty(str)){
				return true;
			}
		}
		return false;
	}
	public static BigDecimal castToBigDecimal(String value){
		
		return isEmpty(value)?null:new BigDecimal(value);
	}
    public static Double castToDouble(String value){
		
		return isEmpty(value)?null:Double.parseDouble(value);
	}
	/**
	 * 传 null或者 null 默认返回 0
	 * @param value
	 * @return
	 */
	public static Long castTolong(String value){
		return isEmpty(value)?0:Long.parseLong(value);
	}
	public static String base64Decoding(String s) {  
        byte[] b = null;  
        String result = null;  
        if (s != null) {  
            BASE64Decoder decoder = new BASE64Decoder();  
            try {  
                b = decoder.decodeBuffer(s);  
                result = new String(b);  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
        return result;  
    } 
	
	/**
	 * 说明：去掉null值<br>
	 * 创 建 人: <b>hehailong</b><br>
	 * @param value
	 * @return
	 */
	public static String castToString(Object value) {
		if(value == null||"null".equals(value) || "".equals(value.toString().trim())){
			return "";
		}
		return value+"";
	}
	
	/**
	 * 说明：获取32位随机数<br>
	 * 创 建 人: <b>hehailong</b><br>
	 * @return
	 */
	public static String getNonceStr() {
		return UUID.randomUUID().toString().replaceAll("-", "").substring(0, 32);
	}
}
